Visual Thought FAQ
(Frequently-Asked Questions) List

Program version: 1.2
Copyright © 1996, 1997 Confluent, Inc. All rights reserved.
Suggestions or questions to 415-764-1000 or vthought@confluent.com

Introduction

This is the official Visual Thought FAQ (Frequently-Asked Questions) List. If you ever have any questions about Visual Thought, chances are you'll find the answer here. This FAQ is available in both text and HTML formats. We welcome your feedback; if you have a question that you don't see answered here, please ask us by sending email to vthought@confluent.com.

You can easily get to this FAQ from the Guided Tour help suite by clicking the "?" button on the Visual Thought hot button bar, then clicking on the button in the Guided Tour Overview that leads to the FAQ slide.

The information in this FAQ is presented in question/answer format, with the all questions collected at the top-level Table of Contents.

The text version of this FAQ is in EMACS outline format, with "*" representing top-level headings, "**" for subheadings, etc.

Technical notes referenced in this FAQ are located in <install_dir>/doc/note_*, where <install_dir> is your Visual Thought installation directory (e.g., /usr/local/confluent).

Table of Contents

Getting Started

How do I quickly get help or learn about Visual Thought?

Use the on-line Guided Tour help suite. Click on the "?" button on the hot button bar in Visual Thought, or use the Help menu. The Guided Tour is a collection of Visual Thought documents that is your on-line resource to all aspects of using, installing and licensing, or otherwise dealing with VT.

Use this FAQ in conjunction with the rest of the Guided Tour to answer your questions. You can easily get to this FAQ from the Guided Tour help suite by clicking the "?" button on the Visual Thought hot button bar, then clicking on the button in the Guided Tour Overview that leads to the FAQ slide.

We recommend browsing the Guided Tour Overview slide for introductory level questions about using Visual Thought, and consulting this FAQ for any other questions.

I browsed the Guided Tour and the FAQ, and still couldn't find an answer to my question. How do I contact Confluent?

Here's how to reach us:

Confluent, Inc.              Tel: 800-780-2838 (toll-free)
132 Encline Court            Tel: 415-586-8700
San Francisco, CA 94127      Fax: 415-586-8838
U.S.A.                       WWW: http://www.confluent.com/
                             E-Mail: info@confluent.com (sales and info)
                                     vthought@confluent.com (VT support)

If you or your site have purchased support from Confluent, then feel free to contact us at any time. When you do call, please provide your Customer ID, which is of the form "C-000000". It should be available from the License dialog by selecting the Options->License... menu item. If your Customer ID appears to contain all zeros, please ask the person responsible for Visual Thought at your site to enter your site's Customer ID into VT with the following command:

     confluent_a customer set

P.S. Even if you haven't purchased support, we'd be happy to answer an occasional question or two. We like to hear from our customers. Send an email or give us a call.

Crashes

VT dies on startup with a "floating exception" or "arithmetic exception".

VT couldn't allocate enough colors in a shared X colormap. The problem arises because a number of applications, most notably Netscape, grab too many colors for private colormaps. A solution is to quit all color-hungry applications (like Netscape, FrameMaker, xv, and VT) and run VT first.

The floating exception should no longer occur in VT 1.2, which attempts to run with whatever colors are available (even if there are very few). If you see this problem often with VT 1.1, please upgrade to 1.2.

Please see the technical note, note_colormap.txt, for detailed information.

VT dies on startup with the message: "error 1: /Arg/Arg/Tag/; message: Tag not found in dictionary".

This is caused by the executable vthoughtx either not finding the system resource file, finding an invalid version of the system resource file, or not being able to read the resource file because incorrect permissions were set. The correct file is located at:

    <install_dir>/<vt_version>/<platform>/lib/vgalaxy.1.vr

where <install_dir> is the installation directory specified during installation of Visual Thought (e.g., /usr/local/confluent<vt_version> is the current version of VT (e.g., vt-1.2), and <platform> is the relevant platform (e.g., solaris-2).

If the vgalaxy.1.vr file does not exist at the specified location on your system, installation may have failed. Please re-install VT or call Confluent for help.

More likely, file permissions are preventing your user account from reading the file. For example, if VT was installed by root with a umask of 066, removing read/write by group/other, then anybody other than root will not be able to read the resource file. This possibility can be checked easily by executing ls -l on the above file and determining whether the permissions allow you to read the file.

If this file (or others in the installation directory) is read-protected, you should su to the account (e.g., root) used to install Visual Thought and execute the following to restore group/other read permission for all files in the installation directory:

    chmod -R go+r <install_dir>

VT dies during execution with the message: "error 1: /Return/; message: X error: BadAlloc (insufficient resources for operation)".

The error indicates a failure to allocate an X resource. It is caused by limited available memory or excessively fragmented memory on your X server.

VT itself uses a memory manager that attempts to warn the user and free up resources when it detects a low memory condition. Unfortunately, X Windows doesn't detect low memory conditions, and when the X server can't allocate a resource because of lack of memory, it takes VT down with it.

The best VT can do is detect this error; if VT crashes with this error, it will automatically save new copies of any documents you were editing, so that you won't lose any work.

There are several things you can try if you find you are frequently encountering this problem:

Configuration and Startup

How can I tell what startup preferences VT makes available?

Please see the technical note, note_preferences.txt, for detailed information.

Window colors flash when I move the mouse in and out of VT windows.

One or more applications on your desktop is using a private colormap.

The X Windows window manager installs any existing private colormap of the currently focused application into your display's hardware colormap. A focused application that has a private colormap will thus cause colors of windows belonging to other applications to look incorrect. An application that does not allocate a private colormap will not cause colors of other applications to look false.

Usually, Visual Thought will use the system's shared colormap. Certain color-intensive applications (like Netscape or FrameMaker 4) often install private colormaps. You can tell which applications are using private colormaps by seeing which windows display false colors when no application window has the focus.

One way to minimize color flashing is to quit all color-hungry applications and execute these commands to install a shared system colormap:

    xstdcmap -delete default
    xstdcmap -default

Afterwards, be sure to run applications (like VT) that generally use the shared system colormap before running applications that generally use private colormaps.

Please see the technical note, note_colormap.txt, for detailed information.

VT windows on HP-UX have garish background and foreground colors.

Visual Thought uses light gray for the default window background color. When Visual Thought is first started, the majority of the Inspector window should be displayed in this color.

If the color of the initial Inspector window is not light gray, the X server may be using a standard colormap that cannot be properly interpreted by Visual Thought. This is often a problem on HP-UX systems. For more information and instructions to fix this problem, see the technical note note_colormap.txt.

VT doesn't display very well on monochrome monitors.

Turn on VT's monochrome mode by invoking VT with:

     vthought -monochrome

Please see the technical note, note_preferences.txt, for detailed information.

At startup, VT windows are placed at inconvenient locations.

The Visual Thought interface depends on access to multiple windows (i.e., Main, Inspector, Palettes, Views, and various auxiliary dialogs). Visual Thought places these windows at positions designed to provide for efficient user access.

On some window managers (e.g., vuewm, mwm), the default behavior is to automatically place newly created windows at positions determined by the window manager, without regard to the positions specified by the application. Such automatic placement of Visual Thought windows results in window locations that provide a very inconvenient user interface.

This problem can be prevented by adding an entry of one of the following forms to the X server resource database (e.g., by adding it to the file ~/.Xdefaults) and restarting the window manager:

    Mwm*clientAutoPlace: false  (for mwm)
    Vuewm*clientAutoPlace: false  (for HP VUE)

After the window manager is restarted, the presence of one of the above entries in the X server resource database can be verified with:

    xrdb -query | grep clientAutoPlace

The default font in dialogs is hard to read. Can I change it?

Yes. The default font is 12 point Helvetica bold. It could be difficult to read because of any of the following:

You can set the default font (e.g., to Helvetica-14) used in dialogs either by running vthought with:

    vthought -font family:helvetica-size:14

or by adding the following to your .Xdefaults file:

    vthoughtx.font: family:helvetica-size:14

You can make the default dialog font permanently available to your entire site by modifying the vthought script. If the executable directory used by your installation is /usr/local/bin, then follow the link /usr/local/bin/vthought to the vthought script and modify it to include the required command line option.

Please see the technical note, note_preferences.txt, for more information.

When VT starts up, I get an alert with this message: "The following error occurred opening the audio control device /dev/audioctl: Permission denied".

To avoid this message in the future, start VT with the command:

    vthought -nosoundalert

or add this line to your .Xdefaults file:

    vthoughtx.nosoundalert: on

If you do this, however, you will not be able to take advantage of VT's sound capabilities.

On Solaris, a user who logs in to the console is given ownership (with a mode of 600) of the audio devices. The audio devices /dev/audio* are links to /devices/audio*, where the actual ownership and permissions are set.

The alert typically occurs because the user starting Visual Thought is not the same user who initially logged in to the console of the machine running Visual Thought. This might occur if the user is running Visual Thought on a remote machine, but displaying on a local machine.

You can check the ownership and permissions of /devices/audio* on the machine running Visual Thought. If these devices are owned by someone other than the user starting Visual Thought, the alert could be avoided by setting the mode of /devices/audio* to 666. Unfortunately, this would apparently need to be done after the first user logs in to the console.

Sound doesn't appear to work on HP-UX systems.

The use of Visual Thought audio capabilities on HP-UX requires that the NCS Local Location Broker Daemon (llbd) and the audio server (Aserver) be running on every system that is involved with the audio operation.

The AUDIO environment variable specifies the host where Visual Thought looks for the audio server.

For more information on using audio on HP-UX, please see the technical note note_hpaudio.txt.

When I send suggestions to Confluent via the Suggestion Box, I'm getting a lot of bounced email.

It is very likely that you are using /usr/bin/mail for your mail command. /usr/bin/mail is a very old mailer program, and /usr/ucb/mail is preferable. To use /usr/ucb/mail instead, change your PATH environment variable to place /usr/ucb in front of /usr/bin.

Installation and Licensing

I can't access VT files, such as examples and palettes.

This is caused by file permissions preventing your user account from reading the files. For example, if VT was installed by root with a umask of 066, removing read/write by group/other, then anybody other than root will not be able to read the installed files.

If the files in the installation directory are read-protected, you should su to the account (e.g., root) used to install Visual Thought and execute the following to restore group/other read permission for all files in the installation directory:

    chmod -R go+r 

What's the difference between a floating and node-locked license?

A single floating license allows a single concurrent user of VT anywhere on your network. A node-locked license allows a single concurrent user of VT on any one particular machine.

In corporate networks, typically a floating license is preferred, because a single floating license can be used (at different times) by 2 to 10 people, depending on how long and often each person uses VT. Sharing floating licenses in this way typically costs less than buying node-locked licenses for each potential user.

If you know only one person will be using VT, a node-locked license is preferable because of the cost savings.

How do I get an evaluation license?

An evaluation license for VT typically gives you 30 days of usage. You can get one by going to the FAQ slide of the Guided Tour (the slide from which you very likely got to this FAQ), and clicking the button for getting an evaluation license.

Alternatively, you can fill out the form at:

    <install_dir>/doc/vt_eval_license.txt

where <install_dir> is your VT installation directory, and email the form to:

    vt-license@confluent.com

You'll receive an automatic reply, 24 hours/day, 7 days/week, as quickly as email can travel.

How do I install VT on multiple file servers to speed up performance if there is only one license server?

Install and license VT first on a single master file server. Note that the license manager process can run on a machine other than the file server, but of course it must reference the VT installation on that file server.

Then perform installations on the other file servers, after which you have two choices:

  1. Keep only one physical license directory on the master file server and make the license directories on other file servers links to this single physical directory. This approach is preferred because it prevents license key files from getting out of sync on multiple file servers.

  2. Copy all license key files (i.e., *.lic) from the license directory on the master server to the license directories on the other file servers. You will need to remember to re-copy all license key files each time a change is made to the license directory on the master server.

The reason for this procedure is that VT needs to know the host machine on which the license manager is running in order to obtain a license from the license manager. The license manager host is identified by a name stored in the license key file (e.g., license/01.lic).

Thus, as long as all installed copies of VT see the same contents of the license key file, they will all attempt to obtain licenses from the same license manager on the single license manager host.

It is best to remove all evaluation license key files from all license directories to avoid any possibility of their being used once permanent licenses are installed. Normally, the same license key file (e.g., 01.lic) is used for both the evaluation and permanent licenses, so an evaluation license key file will be replaced by a permanent license key file when a permanent license is installed. However, this might not be the case if multiple evaluation licenses are installed or if evaluation licenses are installed for multiple installations of VT.

I installed a permanent license, but I still only get expired evaluation licenses.

You may have old license servers running that are still using the evaluation license keys. You need to kill these license servers by becoming root (e.g., "su root") and executing the following command:

    confluent_a kill all

Then restart the license server on the machine for which the permanent license key was obtained.

If you installed VT on multiple file servers (see elsewhere in this FAQ), you may have forgotten to copy all license key files from the license directory on the master server to the license directories on the other file servers.

Please see the technical note, note_license.txt, for more information.

I'm currently using VT 1.2 for SunOS. Do I have to pay for a new license key to run on Solaris or HP-UX?

Nope. Simply make sure you've installed all versions of VT 1.2, for SunOS, Solaris, and HP-UX. Assuming you've already properly licensed VT for SunOS, and the license manager host is on the same network as your Solaris and HP-UX machines, then you can type "vthought" from any of your machines, and you will automatically run the appropriate version of VT.

That is, if you've purchased N floating licenses of Visual Thought, you can simultaneously run X licenses on SunOS, Y on Solaris, and Z on HP-UX, so long as X + Y + Z <= N.

As software developers, one of our pet peeves is that some vendors make you pay "sidegrade costs" just to transfer licenses from host to host, or from platform to platform. Our policy is that any transfer or switch should be free and easy.

I have other questions about licensing that the FAQ doesn't answer.

Check the technical note, note_license.txt.

Drawing and Editing

Sometimes menu commands or other editing actions that I intend for objects in one document window go to another document window. What's happening?

VT has the concept of a "focused View" that is slightly different from the window manager's focused window. All actions, such as editing, menu commands, printing, etc., are performed on VT's focused View or objects in the focused View. The focused View is the one with the black border around its edge.

You need to click or press a key in a View window to make it the "focused View".

You've probably noticed that most applications have the main menu bar on every window that pops up, whereas Visual Thought has a single main menu bar that is separate from the various View windows.

VT does this to save screen real estate by not providing application- wide hot buttons and menus on every window. The tradeoff is that the user needs to be able to tell Visual Thought which window is the target of menu or hot button actions. The window manager's focus isn't sufficient because there are windows in VT that can get the window manager focus but which aren't document windows. The "focused View" concept ensures that there is always a target for any VT editing actions.

How do I change the default properties of objects created by the shape tool, connection tool, text tool?

Each tool that creates objects (the text tool, connection tool, and shape tool) has default properties that apply to objects that they create. Here's an example of how to edit a tool's defaults:

  1. Deselect everything in the View (by switching to select tool and clicking in an empty spot of your View).

  2. Switch to the specified tool, such as the connection tool. Notice that the Inspector says that you are "Inspecting: Connection Tool Defaults".

  3. Flip to the appropriate Inspector panel that modifies the attributes you want to change (such as the Shape panel).

  4. Change those attributes (such as turning on arrowheads at the end of connection or changing the smoothness to "curved").

  5. Now simply draw your connections. Each connection you draw will have arrowheads turned on, and default smoothness set to curved.

You can use this technique to change any default property of any of the tools that create objects.

How do I change the shape that's created by the shape tool?

Switch to the shape tool. Then Ctrl-Shift-click on any instance of a desired shape (e.g., the cloud in the basic palette) in the View or in any palette. The shape tool will thereafter produce shapes of that type.

This is the quickest way, but you can also use the procedure mentioned in the previous item above to change the shape tool defaults.

How do I create my own shapes?

You can define your own palettes, which will serve to organize the shapes and connections you need for your specific purposes, but you currently can't create your own shapes. This capability is planned for an upcoming release.

For now, there are a few workarounds to try:

What's the best way to create a grid of objects?

Use VT's "smart paste" feature. If you create an object, copy and paste it, and drag the copy some distance from the original, VT will remember that offset for future pastes. This makes it very easy to create a grid of objects by copying and pasting one object to make a row, then copying and pasting the row to form a grid.

How can I make connections attach to specific points on shapes?

You can group "node" objects with shapes. Then, if you drag connections to the nodes inside the group, the connections will stay attached to the nodes. There are three node objects shown in the Inspector Shape Panel, toward the end, just before the stick figure shape. The reason to use nodes is that their drawn representation is smaller than their selectable area, so it is easy to select, move, and resize the nodes while still forcing connections to point to the approximate center of the node.

For a graphical example of this method, please see the VT example document "Ports.vthought" (choose the Options->Examples... menu item).

I've got a group of objects that VT won't let me resize!

Visual Thought doesn't allow resizing of groups that contain rotated objects because of scaling problems -- the rotated objects would have to be sheared, not scaled.

To ensure that you can resize groups of objects, you should ensure that none of the subobjects are rotated.

How do I use the color chooser? The color wheel often is completely white, and dragging inside it has no effect!

The color chooser by default uses the HLS color model to pick colors. The color space can be visualized as a double cone; that is, two cones with the wide ends glued together. White is represented at one end of the double cone, black at the other, and the region of brightest colors is at the widest part of the double cone in the middle.

The color wheel you see in the color chooser represents a horizontal slice through the double cone, and the "Light" bar is the vertical position of the slice through the double cone.

Since the color chooser pops up showing the color of the currently selected objects, many times it will pop up with white. Unfortunately, white is a degenerate color, located at the tip of a cone, causing the entire color wheel to show as white.

The upshot: to "fill in" the color wheel, just drag the "Light" bar to something other than 0% or 100%. 50% lightness shows the slice of the double cone containing colors with the greatest saturation.

There's also a description of how to use the chooser in the VT manual, p. 205ff.

How do I set traditional preferences, such as units, page layouts, ruler visibility, that carry across multiple documents and invocations of VT?

VT doesn't yet have traditional preferences (such as you would normally access through a File->Preferences... menu item), but this is a feature that will be added in an upcoming release.

For now, you can create a template document that contains your desired page layout characteristics (e.g., units, paper size), ruler and page break visibility, and grid snap settings. Save this document (perhaps even in the VT examples directory) and make it read-only.

Then you can simply open that document containing all your settings, make your edits, and save it under a different name.

Connections

How do I create connections between objects?

  1. Switch to the connection tool by clicking on the third tool icon from left or type "3".

  2. Click anywhere in the first object to start the connection.

  3. Optionally, click in free space to drop additional vertices.

  4. Click anywhere in the second object to end the connection.

Notice that the connection precisely follows the perimeters of the connected objects. You can see this more easily by turning on arrowheads for the connection.

Notice also that to create a connection to a shape, you can click anywhere inside that shape.

How do I add text or a label to a connection?

Double-click on it. Alternatively, you can switch to the Inspector Text Panel with the connection selected and click on the "Show Text?" checkbox.

After you've added text to a connection, you can type Esc at any time to exit text edit mode. You can use the Location sliders in the Inspector Text panel to change the position, offset, and width of the label.

The benefit of using sliders in the Inspector is that you can position labels for multiple connections simultaneously.

How do I detach a connection?

The quickest way right now is to type Ctrl-X, Ctrl-V (to cut and paste). This sequence detaches both ends of the connection, after which you can reconnect one or both ends.

When I want to draw a connection over some objects, how do I stop it from attaching itself to those objects?

Toggle AutoConnect off by hitting Ctrl-Shift-C (or selecting the Arrange->TurnAutoConnectOff menu item). Remember that you need to toggle it on again if you want to connect lines to objects again.

With AutoConnect on (the default), connection ends are "live" and attach themselves to objects they are released over. With AutoConnect off, connection ends are "dead" and never attach to objects they are released over.

I've created a connection between two "bus" shapes. When I read my file back in, the connection has collapsed or slid to one side of the shapes.

VT has certain "bus" shapes that force connections to them to be perpendicular to the sides of the bus. The location of the intersection point between a connection and a bus is calculated using an algorithm that doesn't guarantee a unique intersection point in all cases.

Practically, there are two things you can do:

  1. Make sure any connection between two buses has at least 3 points. This extra point "anchors" the connection between the buses. You can then drag the anchor point to reposition the connection between the buses.

  2. Turn one of the shapes into something other than a bus.

How do I add joints or delete joints or segments from a connection?

This currently can't be done. You need to create a new connection. When we created VT, we thought that users would regard connections as very lightweight objects that usually would be single segments. This is largely true, but enough people are asking for this capability that we should be able to add the ability to create/delete joints in a forthcoming release. We apologize for any inconvenience.

How can I scale or rotate a connection?

Group it with another object (perhaps temporary), scale or rotate the group, ungroup, and delete the temporary object.

How can I add multiple labels to a connection?

You can simulate multiple labels on a single connection by using single labels on multiple connections. If single-segment connections are required with multiple labels, try this:

  1. Create two shapes.

  2. Create a single-segment connection between the shapes.

  3. Create another single-segment connection, but do not attach it yet.

  4. Show Text and Offset the label (Inspector Text panel), and turn off Stroke (Inspector Style panel) for the unattached connection.

  5. Duplicate the non-stroked connection for each required separate label, and use the Distance slider (Text panel) to make the position of each label unique.

  6. Connect the ends of the non-stroked connections to the shapes.

The reason to offset the labels in Step 4 and to change the distance slider in Step 5 is to make the position of each label unique. This enables you to uniquely select each connection by clicking on its text label after you connect all the connections to the shapes.

Text

How do I enter text into objects?

Manipulating text in Visual Thought objects can be done quickly and simply. Here are shortcuts that you will want to use:

  1. To enter text into an object, double-click on it from Select mode.

  2. To move the text edit focus from object to object, type Tab, Shift-Tab, or the Ctrl key plus any of the four arrow keys.

  3. To exit Text mode and revert to Select mode at any time, press Esc.

How do I enter text into dialogs?

Most Visual Thought dialog windows have text fields, into which you can type text. To enter text in a text field, first click in it to move the keyboard focus to the field, then type. To tell Visual Thought that you are finished typing, it is important to press Return, Tab, or Shift-Tab.

I'm trying to cut & paste text from a shelltool into an object in VT. What advice do you have for importing text into VT?

Sorry, text cut and paste is not available yet in VT. We should be able to add it to version 1.3. If you need to import lots of text into lots of objects, one thing to try is to edit the vthought.txt file itself.

Let's say you want to put lots of text into a shape with the word "foo" in it. In the vthought.txt file, you'll find a shape that is defined like:

    (shape
      (id 254)
      (layer 20)
      ...
      (rtfText{...foo...})
      ...
    )

Simply replace the rtfText field with:

    (text "This is a whole bunch of text")

or whatever your text is, and next time you run VT, you'll see your text. This keyword is documented in the Appendix of the Visual Thought manual dealing with file formats.

It would be nice if objects resized automatically to fit the text that you are typing.

VT tries to "provide mechanism without dictating policy". There are 2 main cases that involve resizing boxes in response to changing text contents:

  1. You want each box to be sized according to the text it contains.

  2. You want to preserve consistent sizing of boxes; e.g, all boxes should be 1"x2".

The problem is that VT needs to allow cases 1 and 2. If resizing of boxes is automatic (satisfying case 1), case 2 becomes harder. So here are the solutions used by VT for the various cases:

  1. After typing text into one or more boxes (presumably the text no longer fits into the box), select them, then choose the Arrange->Size Width to Text or Arrange->Size Height to Text menu items. Each box will be sized to fit the text it contains.

  2. Select the boxes containing text and use the Position panel of the Inspector to change the sizes of all boxes uniformly.

These procedures should allow you the best of both worlds, while remaining easy to use. For example, using the Arrange->Size Height to Text menu item will typically mean a single command keystroke (Ctrl-Shift-E) to change the sizes of all boxes containing text.

The text in my document is small (less than 10 point). I can zoom in to read the text, but any text I try to edit displays at the original unzoomed size, which is too small to read!

Text that is edited is displayed at the 100% size independent of the current zoom factor. This was done partially to make it possible to edit text in objects when you zoom out, when the text in objects will be drawn smaller than 100% (and probably too small to read). Imagine having a lot of objects in your document, and you now want to do a final edit of the text for all your objects. An easy way to do this is to zoom out, double-click in your first object, then tab through the rest of the objects. Or instead, possibly click through the objects using the text tool.

Some customers have created small objects with small text to fit more objects in a page. In this case, it is preferable to leave the objects and text at normal size, and instead use the File->Page Layout menu command to set the Scale parameter in the Page Layout dialog to something less than 100% to change the area of your document that prints in a single page. For example, if you set the scale to 50%, objects will print at 50% of normal size and you'll be able to fit 4 times as much document area into a single page. Rescaling the page in this manner may be more convenient than resizing objects since this process only affects printing, not screen display. You can continue working on the objects normally without squinting at small text.

Finally, if you really do need to work with very small text, you can create a new window on your document with the Windows->New Window menu item. Leave the original window at 100%, but zoom in on the 2nd window. Make sure that the objects that you want to edit are showing in both windows, then edit the objects' text in the first (100%) window. You will be able to read the text in the 2nd (zoomed in) window as you type.

I sometimes get into a mode where every shape I click on gets its Text turned on! How do I prevent this?

You are stuck in the text tool. Exit from it by typing Esc.

Here's how you can "drive" Visual Thought: place your right hand on the mouse, and place the fingers of your left hand on the keys 1-4. Once your fingers get their "kinetic memory," switching between tools should be pretty quick.

Also, you almost never need to click on the text tool! Easiest is to double-click from Select mode to edit text in an object. Then a single click in free space reverts back to Select mode. Or better, you can type Esc at any time to exit Text mode.

Further, use Tab, Shift-Tab, and the Ctrl-Arrow combinations to move the text focus once you are editing text in an object. This makes it easy to, say, create a bunch of objects, double click in the first one, type text, Tab to the next object, type, Tab, type, Tab, then Esc to end. In this case, notice that after the first double click to start editing text, you didn't have to take your hands off the keyboard...

Page Layout and Printing

How can I set the paper size for printing?

If you've used Macintoshes you'll find Visual Thought very similar: select the File->Page Layout menu item. This will bring up a dialog that lets you set the canvas size, page size, page orientation, scale, etc. Visual Thought provides a bunch of standard paper sizes, or you can set your own custom page sizes.

How can I fit more of my drawing on a printed page?

Decrease your page layout scale. The red lines running through drawing area are the page breaks. If you select the File->Page Layout menu item, then change the Scale to 50%, your entire drawing gets reduced by 50% when printed, allowing 4 times as much area to fit on a single page.

You can change the scale, then hit the Apply button in the Page Layout dialog, and watch the red page break lines to see when enough of your document prints in a single page.

How do I set default page properties for new documents?

Please see elsewhere in this FAQ.

VT seems to lose ISO-8859/international/multinational characters when printing. What can I do about this?

To print ISO-8859 characters properly, run Visual Thought with the command:

    vthought -encoding latin1

or add this line to your .Xdefaults file:

    vthoughtx.encoding: latin1

The "x" at the end of vthought is intentional.

Please see the technical note, note_preferences.txt, for detailed information.

Color images print as grayscale images on color printers. What's wrong?

To print color images correctly on color PostScript printers, run Visual Thought with the command:

    vthought -printclass vprintColorPS

or add this line to your .Xdefaults file:

    vthoughtx.printclass: vprintColorPS

The "x" at the end of vthought is intentional. The reason this startup preference is not made the default is that specifying vprintColorPS causes VT to output PostScript that uses the colorimage operator. Some printers (notably, PostScript Level 1 printers without color extensions) do not support the colorimage operator and will not create output when they encounter that operator.

Please see the technical note, note_preferences.txt, for detailed information.

Files, Documents, Import and Export

What formats can VT export from the Export dialog?

Export formats as of VT 1.2 have been extensively upgraded. You can export almost all commonly used raster formats, including GIF, TIFF, JPEG, PICT, Sun Raster, and XWD. Also, EPSI (EPS Interchange, with bitmap preview) and MIF (FrameMaker Interchange Format) have been added, allowing you to see images imported into document processors like FrameMaker, Interleaf, Microsoft Word, and WordPerfect.

In addition, VT 1.2 can "export" its own file format. With this capability, you can write translators that plug-in to VT to export any information available in a document to almost any similar format. This capability could allow you to create HTML, input files to simulators or CASE tools, or any other file that represents information similar to that contained in VT documents -- transparently.

Please see the technical note, note_export.txt, for detailed information.

Can I add my own export formats? How do I use the new plug-in translators?

VT 1.2 contains "plug-in translator" technology that enables you to export almost any raster, vector, or "semantic" format by providing the appropriate translator.

Please see the technical note, note_export.txt, for detailed information on how to use the plug-in translator technology to create your own export formats.

What formats can VT import?

VT can import GIF, Sun Raster, XWD, PBM, PGM, PPM, and XBM raster formats. Use the Image subpanel of the Inspector Attachment panel to specify a raster image file to import into a shape.

How to I create a new drag-and-drop palette?

Select the File->New Palette menu item, then click on the button that says "Palette" when it pops up. This turns the Palette into a View, which you already know how to use! Arrange your components any way you wish in this Palette. When you are done, save it by typing Ctrl-S.

To make the Palette available to everybody else in your organization, save it in the Visual Thought palettes directory. You can get to this directory by selecting the Options->Palettes... menu item.

Here are some ideas to get you started with palettes:

How do I close or save a palette? Every time I try, I end up closing or saving some other window instead!

Palettes in "Palette mode" (with the word "Palette" displayed in the button in the lower left corner) can never get VT's view focus, because almost no commands are applicable to palettes. Because palettes in Palette mode can't get the view focus, commands such as File->Close and File->Save will never apply.

To save a palette, switch it to "View mode" first by clicking the button labeled "Palette" in the lower left corner. Make sure it is the focused view by clicking or hitting a key anywhere in it, then save the palette as you would a view normally.

To close a palette, you can either switch it to View mode first, or use the window manager to close it. For example, in OpenWindows, right-click in the title bar of the palette and select the "Quit" menu item.

When I open my document, I keep getting notices that warn that a shape, connection, or group "lies entirely outside the document". What's the problem?

You have one or more shapes, connections, or groups in your document that lie entirely outside the document area, most likely beyond the left or bottom boundaries of the document.

Here's how to remove them from your document:

  1. Zoom out until you can see all the visible objects in your document inside the white canvas area.

  2. Use Ctrl-A (Edit->Select All) to select all objects.

  3. Hold down the Ctrl key in Select mode and drag out a rectangle encompassing the entire canvas area to toggle select (that is, deselect) all visible objects. Now the only selected objects are those outside your document that are causing the warnings.

  4. You can now see how many objects are outside your document by observing the "Inspecting:" field in the Inspector.

  5. Now you can:

    1. Delete all the offending objects by pressing BackSpace.

    2. Cut the objects out of the document with Ctrl-X (File->Cut).

    3. Type numbers into the Inspector Position panel X and Y fields to numerically move the objects inside the canvas area.

  6. Simplest is 1, but if you want to see the objects before deleting them, 2 allows you to paste the objects back into the document (they will be centered in the focused View, or 3 allows you to move them all into a single location.

  7. Resave your document, minus the objects outside the document boundaries.

Can I store Visual Thought documents as files instead of directories?

Not currently. Visual Thought stores documents in directories instead of files because:

  1. Supporting files used by documents, such as sounds and images, can then be stored in native formats (i.e., .gif and .au).

  2. The object information can be written as a plain text file (vthought.txt). This enables the vthought.txt file to be easily read by other programs, and facilitates platform independence.

However, because the document directory paradigm can cause some inconveniences with usage and source code control systems, a preference that will allow you to store documents as files may well be added in an upcoming release.

How can I submit Visual Thought documents, stored as directories, to source code control systems?

You have a number of alternatives:

  1. If your system makes it easy to submit directories to source code control, then of course you can simply submit the VT directory to the source code system. Because of the way VT saves documents, any files added to a .vthought directory will be removed unless they are named RCS or SCCS.

  2. VT only stores vthought.txt files, image files (.gif), and sound files (.au) in the document directories, as of version 1.2. If you know you will not import images and sounds into VT documents, you can simply submit the vthought.txt files to code control, discarding the rest of the document directory. This will require pre- and post- processing of document directories on checkin and checkout. This scheme gives you the benefit of including source code control identification strings (e.g., RCS $Id: FAQ.html,v 1.1 1995/10/19 01:15:13 william Exp william $) in the text inside objects.

  3. You can tar, compress, and uuencode the entire document directory and then submit that to source code control. This will require pre- and post-processing of document directories on checkin and checkout.

  4. A hybrid scheme which preserves the benefits of keeping the vthought.txt file in text form is to extract the vthought.txt file, and prepend it to the tar'ed, compressed, and uuencoded remainder of the directory, then submit the result to source code control.

I've created a document with file attachments to other files in a directory near the document. When I move the directory tree containing the document and its attachments, the attachments no longer work!

File attachments (specified using the Attachment subpanel of the Inspector Attachment panel) that are set using the "Set..." button have absolute paths, such as /usr/local/confluent/README. Absolute paths are useful when referencing "library" files that will never move, but sometimes you need relative paths.

VT 1.2 allows you to specify relative paths in the Attachment subpanel. Simply type a path relative to the location of the document, such as "foo.txt" or "../source/foo.C" in the File field of the Attachment subpanel. This feature is useful when attaching files that will tend to be moved with the document.

The File field in the Attachment subpanel may contain environment variables and the symbols "~", ".", and "..". For example, you can use the paths "~/vthought/foo.txt" or "$HOME/vthought/foo.txt", and VT will interpret "~" and "$HOME" when the attachment is activated.

Miscellaneous

I need to email a VT document. What's the best way to do this?

Suppose your document is named foo.vthought. If you have gzip available, execute the following commands:

    tar cf foo.tar foo.vthought
    gzip foo.tar
    uuencode foo.tar.gz foo.tar.gz > foo.uue

If you do not have gzip available, execute the following commands:

    tar cf foo.tar foo.vthought
    compress foo.tar
    uuencode foo.tar.Z foo.tar.Z > foo.uue

Then mail foo.uue. If you have it available, use gzip. It results in substantially smaller output files.

If you find yourself mailing VT documents often, you may find the following shell script useful:

===== begin vtmail.csh =====
#!/bin/csh -f
 
if ($#argv < 1) exit
 
tar cf vtmail.tar $*
compress vtmail.tar
uuencode vtmail.tar.Z vtmail.tar.Z > vtmail.uue
rm vtmail.tar.Z
===== end vtmail.csh =====


© 1996, 1997 Confluent, Inc. All rights reserved.


Confluent, Inc. * 400 Spear Street, Suite 207 * San Francisco, CA 94105
800-780-2838 and 415-764-1000 tel * 415-764-1008 fax * info@confluent.com

Please send comments about this web site to:

webmaster@confluent.com